๐Ÿ˜Ž ์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ 3๊ณ„์ธต์ด๋ž€??

network Layer์˜ ์ฃผ๋œ ์—ญํ• ์€ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š”๊ฒƒ์ž…๋‹ˆ๋‹ค.
2๊ณ„์ธต์ธ Link layer ๊นŒ์ง€๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์–ด๋А์ •๋„ ์ธ์ ‘ํ•œ ์ƒํƒœ๋ฅผ ๊ณ ๋ คํ–ˆ๋‹ค๋ฉด ์ด์ œ๋Š” ์ „ํ˜€ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

์ด๋•Œ, ์ค‘์š”ํ•œ ๊ฒƒ์€ 2๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

  • ํ•ด๋‹น ๊ณ„์ธต โ€œ๋‚ด๋ถ€โ€์—์„œ์˜ ํŒจํ‚ท์˜ ํ๋ฆ„ (data plane)
  • ํ•ด๋‹น source -> destination ์œผ๋กœ ํ๋ฅด๋Š” ๊ธธ์„ ์ฐพ๊ธฐ (control plane)

Routing protocol

Routing Protocol์ด๋ž€ Routing์„ ์ •ํ•˜๋Š” ๋ฐฉ์‹๋“ค์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค!

๋ชจ๋“  ๋ผ์šฐํ„ฐ๋“ค์ด ๋‹ค๋ฅธ ๋งํฌ๋“ค์— ๋Œ€ํ•œ โ€œ๋ชจ๋“ โ€ Cost๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์—์„œ๋Š” ๋ชจ๋“  ๋…ธ๋“œ์— ๋Œ€ํ•œ Link Cost๋ฅผ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (์ „์ฒด ๊ณต์œ !!)

image
TSP๋ฅผ ๋– ์˜ฌ๋ฆฌ๋ฉด ์‰ฝ์Šต๋‹ˆ๋‹ค. ์œ„๋Š” ๋‹ค์ต์ŠคํŠธ๋ผ์ž์—์„œ ๊ธธ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด๋ฉฐ, ์‹œ๊ฐ„์— ํ๋ฆ„์— ๋”ฐ๋ผ ๋ชฉ์ ์ง€๋กœ ์ด๋™ํ•˜๋˜ ๋„์ค‘ ์ž์‹ ์ด ์•Œ๊ณ  ์žˆ๋˜ ์ •๋ณด์— ์ƒˆ๋กœ์šด ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์ตœ์ €์˜ cost๋ฅผ ์ฐพ์•„์„œ ์ด๋™ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

image
๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ชฉ์ ์ง€์ธ u -> z๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•œ ์‹์ด๋ฉฐ 12๊ฐ€ ์ตœ์†Œ์˜ ๋น„์šฉ์ธ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋•Œ ์žฅ์ ์€ Link์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค๋ฉด ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ํ•ด๋‹น Link์—์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹จ์ ์€ ๋‹น์—ฐํžˆ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ํ•ด๋‹น Link๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•ด์•ผํ•˜๋ฏ€๋กœ ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์Šต๋‹ˆ๋‹ค.

2. Distance vector

๋ชจ๋“  ๋ผ์šฐํ„ฐ๋“ค์ด ๋‹ค๋ฅธ ๋งํฌ๋“ค์— ๋Œ€ํ•œ โ€œ๋ชจ๋“ โ€ Cost๋ฅผ ์•Œ๊ณ  ์žˆ์ง€๋Š” ๋ชปํ•ฉ๋‹ˆ๋‹ค.
๋ฐ”๋กœ ์ธ์ ‘ํ•œ node๋“ค์— ์—ฐ๊ฒฐ๋œ Link๋“ค์— ํ•ด๋‹นํ•˜๋Š” cost๋งŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฒจ๋งŒํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฐฉ์‹์„ ๊ฐ„๋‹จํžˆ ์š”์•ฝํ•˜์ž๋ฉด ์ค‘๊ฐ„ ๋…ธ๋“œ ๊นŒ์ง€์˜ ํ•ฉ๋“ค์˜ ์ตœ์†Ÿ๊ฐ’์„ updateํ•ด์ฃผ๋ฉฐ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

๊ฐ ๋…ธ๋“œ๋“ค์€ ๋ณ€ํ™”๊ฐ€ ์˜ฌ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธฐ๋ฉด ๊ณ„์‚ฐํ•˜์—ฌ ์ด ๊ฐ’์˜ ์ตœ์ ์ด๋ผ๋ฉด updateํ•˜๊ณ  neigbor์— ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

image

ํ•ด๋‹น ๋ฐฉ์‹์„ ํ†ตํ•ด์„œ ์ตœ์ข… ํ…Œ์ด๋ธ”์„ ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Distance vector์˜ ์žฅ์ ์€ ์—ฐ์‚ฐ๋Ÿ‰์ด ์ ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๋…ธ๋“œ๋“ค์— ๋Œ€ํ•œ cost๋“ค์„ ํ•ญ์ƒ update๋ฅผ ํ•ด์ค„ ํ•„์š”๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

image
๋˜ํ•œ ์ข‹์€ ์ •๋ณด๋Š” ๊ธˆ๋ฐฉ ๋ชจ๋“  ๋…ธ๋“œ๋“ค์— ์ „ํŒŒ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
image
system์—์„œ ์•ˆ์ข‹์€ ์ƒํ™ฉ, ์˜ˆ๋ฅผ ๋“ค์–ด link๊ฐ€ ๋Š์–ด์ง„ ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ์ธ์ ‘๋…ธ๋“œ๋“ค์—๊ฒŒ ํ•ด๋‹น ์‚ฌ์‹ค์˜ ์ „ํŒŒ๊ฐ€ ๊ต‰์žฅํžˆ ๋А๋ฆฌ๊ฒŒ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

Network layer์—์„œ congestion ๋ง‰๋Š” ๋ฐฉ๋ฒ•

2๊ณ„์ธต์—์„œ๋Š” ์ถฉ๋Œ์‹œ ์‹œ๊ฐ„์„ ๋‘๊ณ  random ํ•˜๊ฒŒ (2์˜ ์ œ๊ณฑ) ๋งŒํผ์˜ ์‹œ๊ฐ„์„ ๋Š˜๋ ค๊ฐ€๋ฉฐ ์‹œ๊ฐ„์„ ๋‘๊ณ  ๋ณด๋‚ธ๋‹ค. ํ˜น์€ persistantํ•˜๊ฒŒ ๋ณด๋‚ด๊ฑฐ๋‚˜ ์•ˆ๋ณด๋‚ด๊ฑฐ๋‚˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

1. flow control์„ ๊ด€๋ฆฌํ•œ๋‹ค

ํŠน์ •์‹œ๊ฐ„, ๊ตฌ๊ฐ„์— data๊ฐ€ ๋ชจ์ด๊ธฐ ๋–„๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ congestion ๋ฐœ์ƒ์‹œ ํ•ด๋‹น link๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  virtual path๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. A์—์„œ D๊นŒ์ง€์˜ ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด A -> E -> F -> D (์˜์–ด๋Š” ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค 6๊ฐํ˜•๋„ํ˜•์„ ์ƒ๊ฐํ•ด์ฃผ์„ธ์š”) ๊ฐ€ ๋œ๋‹ค. ์ด๋•Œ, โ€œchoke packetโ€์„ ๋ณด๋‚ด์–ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

image

๋ผ์šฐํ„ฐ์—์„œ๋Š” ํŒจํ‚ท์„ ์ฃผ์˜ ํ‘œ์‹œํ•œ ์ถœ๋ ฅ ์„ ๋กœ๋กœ ๋ผ์šฐํŒ…ํ•  ๋•Œ ํŒจํ‚ท ์†ก์‹  ํ˜ธ์ŠคํŠธ์—๊ฒŒ ์ดˆํฌ ํŒจํ‚ท์„ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดˆํฌ ํŒจํ‚ท์„ ์ˆ˜์‹ ํ•œ ์†ก์‹  ํ˜ธ์ŠคํŠธ๋Š” ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ๋กœ ์ผ๋ถ€์— ํ˜ผ์žก์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ „์†ก ํŒจํ‚ท์˜ ์–‘์„ ์ค„์ž…๋‹ˆ๋‹ค.

์ฆ‰ ์ดˆํฌ ํŒจํ‚ท์„ ํ†ตํ•ด ์ฃผ์˜ํ•ด์•ผํ•˜๋Š” Link์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ›์„ ์ˆ˜ ์ž‡์Šต๋‹ˆ๋‹ค.

2. Jitter

Jitter์ด๋ž€ ํŠน์ •ํ•œ ์‹ ํ˜ธ์— ๋Œ€ํ•ด์„œ ๋‚ด๊ฐ€ โ€œ์›ํ•˜๋Š” ์‹ ํ˜ธโ€์™€ โ€œ์‹ค์ œ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์‹ ํ˜ธโ€ ๊ฐ„์— ๋ฐœ์ƒํ•˜๋Š” ๋ถˆ์•ˆ์ •ํ•œ ์‹ ํ˜ธ์˜ ์ฐจ์ด๋“ค์ด Jitter ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

image (๋„ˆ๋ฌด ๋Œ€์ถฉ๊ทธ๋ ธ์ง€๋งŒโ€ฆ)
๋‹ค์Œ๊ณผ๊ฐ™์ด ์‹ ํ˜ธ๊ฐ€ ์˜ฌ๋•Œ peak์ ์ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์‹ ํ˜ธ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ์™ผ์ชฝ์€ high Jitter์— ํ•ด๋‹นํ•˜๋ฉฐ ์›๋ž˜ ์‹ ํ˜ธ์— ๋Œ€๋น„ํ•˜์—ฌ ์–‘์ชฝ์— ๋ถˆ์•ˆ์ •ํ•œ ์‹ ํ˜ธ๋“ค์ด ๋งŽ์€๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ์™ผ์ชฝ์€ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์‹ ํ˜ธ๊ฐ€ ์งง์€ ์‹œ๊ฐ„๋™์•ˆ์— ๋“ค์–ด์˜ค๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜์žˆ ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ streaming๊ณผ ๊ฐ™์ด ์ •ํ•ด์ง„ ์‹œ๊ฐ„์— ๋™์ผํ•œ ์ถœ๋ ฅ๋ฌผ์ด ํ•„์š”ํ•  ๋•Œ๋Š” low Jitter์ธ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

3. Buffering

์‹œ์Šคํ…œ์—์„œ ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋–ค ์žฅ์น˜๋กœ ๋ถ€ํ„ฐ ๋‹ค๋ฅธ ์žฅ์น˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •์†ํ•  ๋–„ ์–‘์ชฝ์˜ ์†๋„์ฐจ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ณ ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

์˜ˆ๋ฅผ ๋“ค์–ด ๋™์˜์ƒ์„ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ ๋™์˜์ƒ์— ํ•ด๋‹นํ•˜๋Š” ์ •๋ณด๊ฐ€ linearํ•˜๊ฒŒ ๋„์ฐฉํ•ด์•ผ ํ•˜๋Š”๋ฐ discreteํ•˜๊ฒŒ ๋„์ฐฉํ•˜๋ฉด ์˜์ƒ์ด ์•„๋‹Œ ์‚ฌ์ง„๋ฌผ๋กœ์„œ ๊ฐ์‚ฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ผ์ •์‹œ๊ฐ„๋™์•ˆ linearํ•˜๊ฒŒ ์˜์ƒ์„ ๋ณผ์ˆ˜ ์žˆ๊ฒŒ๋” ์˜์ƒ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋•Œ ๊ฑธ๋ฆฌ๋Š” ๊ณผ์ •์„ ๋ฒ„ํผ๋ง์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

4. Leaky bucket algorithm

image
์–‘๋™์ด์˜ ๊ตฌ๋ฉ์ด ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ฒ˜๋ฆฌ์†๋„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌ์†๋„๋Š” constantํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. 2๋ช…์ด ์‚ฌ์šฉ์ค‘์ธ๋ฐ ํ•œ๋ช…์ด ์‚ฌ์šฉ๋Ÿ‰์ด ๊ธ‰์ฆํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๋‚˜๋จธ์ง€ ํ•œ๋ช…์˜ ์‚ฌ์šฉ์—๋Š” ์ œ์•ฝ์ด ์ƒ๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค ๋”ฐ๋ผ์„œ ์ด๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋‚˜๋จธ์ง€ ํ•œ๋ช…๋„ ๋™์‹œ์— ๋А๋ ค์ง‘๋‹ˆ๋‹ค.

5. token bucket algorithm

๋ฐœ์ƒํ•˜๋Š” ํ† ํฐ์˜ ์ˆ˜๋งŒํผ data๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์ผ์ข…์˜ ํ†ตํ–‰์„ธ ๋А๋‚Œ) ๋”ฐ๋ผ์„œ ์ˆœ์ฐจ์ ์œผ๋กœ token์„ ๋ฐ›๊ธฐ ๋–„๋ฌธ์— ์‚ฌ์šฉ๋Ÿ‰์ด ์ ๋˜ ๊ณตํ‰ํ•˜๊ฒŒ data๋ฅผ ๋ณด๋ƒ„์— ์žˆ์–ด์„œ ์ด๋“์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ฒ˜๋ฆฌ์†๋„๊ฐ€ constantํ•œ๊ฒƒ์ด ์•„๋‹Œ burstํ•˜๊ฒŒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

IP

image ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด packet์„ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•˜๊ณ , IPํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด packet์„ datagram์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค๋ฉฐ ,ICMPํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์—๋Ÿฌ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ถ€ํ„ฐ๋Š” IP ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

IPv4 datagram format

image

ttl : time to live์— ํ•ด๋‹นํ•˜๋ฉฐ datagram์˜ ์ˆ˜๋ช…์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋ช…์€ ์ค„์–ด๋“ค์–ด์•ผ ํ•˜๋ฉฐ ์ˆ˜๋ช…์ด ์ค„์–ด๋“ค์ง€ ์•Š์œผ๋ฉด ๊ณ„์† ์ˆœํ™˜ํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DTRC : ์ง€์—ฐ์‹œ๊ฐ„ , ์ฒ˜๋ฆฌ์œจ, ์‹ ๋ขฐ์„ฑ , cost

IP addressing

image
์ด 4์ž๋ฆฌ๋ฅผ ๊ฐ€์ง€๋ฉฐ ๊ฐ๊ฐ 0.0.0.0 ๋ถ€ํ„ฐ 255.255.255.255 ๋ผ๋Š” ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์œ„์˜ ์‚ฌ์ง„์—์„œ๋Š” ํŒŒ๋ž€์ƒ‰์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ถ€๋ถ„๋“ค์ด subnet์œผ๋กœ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ค‘์•™ router ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ IP๋Œ€์—ญ์„ ํ™•์ธํ•ด๋ณด๋ฉด

image

์—ฌ๊ธฐ์„œ ๋งจ ๋์— 24๊ฐ€ ๋ถ™์€ ์ด์œ ๋Š” ์ด 32 ๋น„ํŠธ์ค‘์—์„œ ์•ž์˜ 24๋น„ํŠธ๋ฅผ ์„œ๋ธŒ๋„ท์— ํ•ด๋‹น๋œ๋‹ค๋Š” ๋‚ด์šฉ์ด๋ฉฐ 25๋ฒˆ์งธ ๋น„ํŠธ๋ถ€ํ„ฐ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DHCP

Dynamic Host Configuration protocol์œผ๋กœ ๋™์ ์œผ๋กœ ํ˜ธ์ŠคํŠธ์—๊ฒŒ IP๋ฅผ ๋ถ€์—ฌ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

  • DHCP Discover : client ๊ฐ€ subnet์— ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋„์ฐฉํ•˜๋ฉด client๊ฐ€ ์„œ๋ฒ„๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค
  • DHCP offer : ์„œ๋ฒ„๋Š” client์—๊ฒŒ IP ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
  • DHCP request : client๋Š” server ์—๊ฒŒ IP address๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๊ณ  ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค
  • DHCP ACK : server๋Š” client์—๊ฒŒ ACK๋ฅผ ๋ณด๋‚ด ํ™•์ธ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค

DHCP ๋กœ ๋ฐ›์€ iP ์ฃผ์†Œ๋Š” ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋™์•ˆ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. client๊ฐ€ ์ž์ฒด์—์„œ ๋” ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด packet์„ ์ถ”๊ฐ€๋กœ ์„œ๋ฒ„๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์—†๋‹ค๋ฉด iP ๋ฅผ ์ œ๊ฑฐ ํ•˜๊ณ  ์žฌํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

Whatโ€™s inside a router

์ง€๊ธˆ๊นŒ์ง€๋Š” control plane์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ์–ด ๋ณด์•˜๊ณ  ์ด์ œ๋ถ€ํ„ฐ๋Š” data plane์ธ router๋‚ด๋ถ€๋ฅผ ์ •๋ฆฌํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

image

๋‹ค์Œ๊ณผ ๊ฐ™์ด input port, switching fabric , output port๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ
์œ„์•„๋ž˜๋กœ๋Š” data plane, control plane์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

input port

image input์—์„œ๋Š” forwaring table์„ ์ด์šฉํ•˜์—ฌ ์–ด๋–ค ouput port๋กœ ๋‚˜๊ฐˆ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ queueing๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ•์ ๋ฉ๋‹ˆ๋‹ค. queueing์€ ๋‚˜๊ฐ€๋Š” ์†๋„๋ณด๋‹ค input์— ํŒจํ‚ท์ด ๋“ค์–ด์˜ค๋Š” ์†๋„๊ฐ€ ๋น ๋ฅผ์‹œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด๋•Œ forwarding์—๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. image ์ฒซ๋ฒˆ์งธ๋Š” detination์— ๋”ฐ๋ผ output port๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๊ณ„์‚ฐ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๋ฐฉ๋ฒ•์ด longest prefix matching๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋งค์น˜๊ฐ€ ๋˜๋Š” ๊ฒƒ๋“ค์ค‘์—์„œ ๊ฐ€์žฅ ๊ธธ๊ฒŒ ๋งค์น˜๊ฐ€ ๋˜๋Š” ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

image

์ด๋•Œ ์ฒซ๋ฒˆ์งธ๋Š” 0๋ฒˆ์œผ๋กœ ๊ฐ€๋ฉฐ 2๋ฒˆ์งธ๋Š” ๋” ๋งŽ์ด ๋งค์น˜๋œ 1๋ฒˆ์œผ๋กœ ๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋‘๋ฒˆ์žฌ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฅธ layer์—์„œ์˜ ์ •๋ณด๋ฅผ ์ด์šฉํ•ด์„œ forwardingํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค

์˜ˆ๋ฅผ ๋“ค์–ด,
11001000 00010111 00010*** ***** -> 0๋ฒˆ link interface
11001000 00010111 00011000 ********* -> 1๋ฒˆ link interface ์ผ๋•Œ
11001000 00010111 00011000 11100010 -> 1๋ฒˆ link interface๋กœ ์ด๋™

switching fabrics

image

switchng fabric์€ input ๊ณผ output ์‚ฌ์ด์—์„œ ์ •๋ณด๋ฅผ ์ „๋‹ฌ์‹œํ‚ค๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • memory : ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ๋ฐฉ์‹์œผ๋กœ ํŒจํ‚ท์„ ๋ณต์‚ฌํ•ด์„œ ๋„˜๊ฒจ์ค๋‹ˆ๋‹ค. ๋งค์šฐ๋А๋ฆฝ๋‹ˆ๋‹ค
  • bus : ํ•˜๋‚˜์˜ ๊ธธ์„ ๋ชจ๋‘ ๊ณต์œ ํ•˜๋ฉฐ ํŠน์ •ํ•œ bandwidth๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • crossbar : ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ํŒจํ‚ท์ด ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฒน์น˜์ง€ ์•Š์•„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌ ์†๋„๋„ ๋น ๋ฆ…๋‹ˆ๋‹ค.

image

์–ด๋–ค fabrics๋ฅผ ์‚ฌ์šฉํ•จ์— ๋”ฐ๋ผ congestion์ด ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ๊ฐ™์€ output port๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์€ ๋‘˜์ค‘ํ•˜๋‚˜๋งŒ ๋ฐ›๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ delay๊ฐ€ ์ปค์ง€๊ฒŒ ๋˜์–ด queueing์ด ๋ฐœ์ƒํ•˜๊ณ  queueing ์‚ฌ์ด์ฆˆ๋ฅผ ๋„˜์น˜๋„๋ก data๊ฐ€ ๋ˆ„์ ๋˜๋Š” ๊ฒฝ์šฐ loss๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์„ Head-of-the-line(HOL) blocking์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. cross ๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

output port

image

output port๋ฅผ ํ†ตํ•ด ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์—๋„ 3๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. FIFO image ouput์— buffer๋ฅผ ๋‘์–ด FIFO๋กœ ๋‚˜๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  2. Priority scheduling image ๊ฐ€์žฅ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๊ฒƒ์ด ๋จผ์ € ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. ์ด๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€๊ฒƒ์€ ๋ชป ๋‚˜๊ฐˆ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. Weighted Fair Queuing image ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ค‘์น˜๋ฅผ ๋‘์–ด ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

Reference

์•„์ง ๋ฐฐ์›€์˜ ๋‹จ๊ณ„๋ผ ์ •ํ™•ํ•œ ์ •๋ณด๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๐Ÿ˜‚
ํ”ผ๋“œ๋ฐฑ์€ seoungin1228@gmail.com ์œผ๋กœ ๋ถ€ํƒ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹คโ˜บ๏ธ


- [๋„คํŠธ์›คํฌ : Network Layer ์ •๋ฆฌ](https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jk130694&logNo=220731737874) - [์ดˆํฌํŒจํ‚ท์ด๋ž€?](https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jk130694&logNo=220731737874)